package com.fz.us.oa.core.service.com;

import com.fz.us.admin.base.bean.search.rule.Rule;
import com.fz.us.admin.company.service.BaseFlowService;
import com.fz.us.admin.dict.entity.DictItem;
import com.fz.us.oa.core.entity.com.Director;
import com.fz.us.oa.core.entity.com.Person;

import java.util.List;

/**
 * Created by dzw on 2018/3/19.
 */
public interface DirectorService extends BaseFlowService<Director, String> {
    /**
     * 根据条件查询人员列表
     */
    List<Director> findPerson(List<Rule> rules);

    /**
     * 根据学历查询人数 （学历-全区）
     */
    int getCountEduAll(DictItem edu);

    /**
     * 根据学历和街道查询人数 （学历-街道）
     */
    int getCountEduAll(DictItem edu, DictItem street);

    /**
     * 根据人员性质 查询人数 （人员性质 - 全区）
     */
    int getCountByPersonNature(DictItem personNature);

    /**
     * 根据人员性质 和街道 查询人数 （人员性质 - 街道）
     */
    int getCountByNatureAndStreet(DictItem personNature, DictItem street);

    /**
     * 获取所有人数量
     */
    int getAllCount();

    /**
     * 获取一个街道上的所有人数
     */
    int getCountByStreet(DictItem street);

    /**
     * 根据性别获取主任人数
     */
    int getCountByGender(String gender);

    /**
     * 根据假主键查找person
     */
    Director getByKeyId(String keyId);
}
